Métodos de Predictivos (Clasificación o Aprendizaje-Supervisado)
Se necesita cargar las siguientes librerías
Muestra la distribución de la variable a predecir
equilibrio.variable.predecir<-function(datos,variable.predecir,ylab="Cantidad de individuos",xlab = "",
main=paste("Distribución de la variable",variable.predecir),
col = NA) {
gg_color <- function (n) {
hues <- seq(15, 375, length = n + 1)
hcl(h = hues, l = 65, c = 100)[1:n]
}
if(missing(variable.predecir) | !(variable.predecir %in% colnames(datos))){
stop("variable.predecir tiene que ser ingresada y ser un nombre de columna", call. = FALSE )
}
if(is.character(datos[,variable.predecir]) | is.factor(datos[,variable.predecir])){
if(length(col) == 0 || is.na(col)){
col <- gg_color(length(unique(datos[,variable.predecir])))
}else{
col <- rep(col,length(unique(datos[,variable.predecir])))
}
ggplot(data = datos, mapping = aes_string(x = variable.predecir, fill = variable.predecir)) +
geom_bar() +
scale_fill_manual(values = col, name = variable.predecir) +
labs(x = xlab, y = ylab, title = main) +
theme_minimal() +
theme(legend.position = "bottom")
}else{
stop("La variable a predecir tienen que ser de tipo factor o character", call. = FALSE )
}
}Muestra la distribución de una variable numérica según la variable a predecir
poder.predictivo.numerica<-function(datos,variable.predecir,variable.comparar,ylab="",xlab="",
main=paste("Densidad de la variable",variable.comparar,'según',variable.predecir),
col=NA){
gg_color <- function (n) {
hues <- seq(15, 375, length = n + 1)
hcl(h = hues, l = 65, c = 100)[1:n]
}
if(missing(variable.predecir) | !(variable.predecir %in% colnames(datos))){
stop("variable.predecir tiene que ser ingresada y ser un nombre de columna", call. = FALSE )
}
if(missing(variable.comparar) | !(variable.comparar %in% colnames(datos)) | !is.numeric(datos[,variable.comparar])){
stop("variable.comparar tiene que ser ingresada y ser un nombre de columna numérica", call. = FALSE )
}
if(is.character(datos[,variable.predecir]) | is.factor(datos[,variable.predecir])){
if(length(col) == 0 || is.na(col)){
col <- gg_color(length(unique(datos[,variable.predecir])))
}else{
col <- rep(col,length(unique(datos[,variable.predecir])))
}
ggplot(data = datos, aes_string(variable.comparar, fill = variable.predecir)) +
geom_density(alpha = .7, color = NA) +
scale_fill_manual(values = col) +
labs(title = main , y = ylab, x = xlab ,fill = variable.predecir) +
theme_minimal() +
theme(legend.position = 'bottom',
legend.title = element_blank(),
text = element_text(size = 15))
}else{
stop("La variable a predecir tienen que ser de tipo factor o character", call. = FALSE )
}
}Muestra la distribución de una variable categórica según la variable a predecir
poder.predictivo.categorica<-function(datos,variable.predecir,variable.comparar,ylab="",xlab="",
main=paste("Densidad de la variable",variable.comparar,'según',variable.predecir),
col=NA){
gg_color <- function (n) {
hues <- seq(15, 375, length = n + 1)
hcl(h = hues, l = 65, c = 100)[1:n]
}
if(missing(variable.predecir) | !(variable.predecir %in% colnames(datos))){
stop("variable.predecir tiene que ser ingresada y ser un nombre de columna", call. = FALSE )
}
if(missing(variable.comparar) | !(variable.comparar %in% colnames(datos)) |
!(is.factor(datos[,variable.comparar]) | is.character(datos[,variable.comparar])) ){
stop("variable.comparar tiene que ser ingresada y ser un nombre de columna categórica", call. = FALSE )
}
if(is.character(datos[,variable.predecir]) | is.factor(datos[,variable.predecir])){
if(length(col) == 0 || is.na(col)){
col <- gg_color(length(unique(datos[,variable.predecir])))
}else{
col <- rep(col,length(unique(datos[,variable.predecir])))
}
datos2 <- datos %>%
dplyr::group_by_(variable.comparar, variable.predecir) %>%
dplyr::summarise(count = n())
if(variable.comparar != variable.predecir){
datos2 <- datos2 %>% dplyr::group_by_(variable.comparar)
}
datos2 <- datos2 %>% dplyr::mutate(prop = round(count/sum(count),4))
ggplot(data = datos2, mapping = aes_string(x = variable.comparar, y = "prop", fill = variable.predecir)) +
geom_col(position = "fill") +
geom_text(aes(label = glue("{percent(prop)} ({count})")), position = position_stack(vjust = .5), color = "white") +
scale_y_continuous(label = percent) +
labs(y = xlab, x = ylab, title = main) +
scale_fill_manual(values = col, name = variable.predecir) +
theme(legend.position = "bottom")+
coord_flip()
}else{
stop("La variable a predecir tienen que ser de tipo factor o character", call. = FALSE )
}
}Índices para matrices NxN
indices.general <- function(MC) {
precision.global <- sum(diag(MC))/sum(MC)
error.global <- 1 - precision.global
precision.categoria <- diag(MC)/rowSums(MC)
res <- list(matriz.confusion = MC, precision.global = precision.global, error.global = error.global,
precision.categoria = precision.categoria)
names(res) <- c("Matriz de Confusión", "Precisión Global", "Error Global",
"Precisión por categoría")
return(res)
}'data.frame': 150 obs. of 5 variables:
$ s.largo: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ s.ancho: num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ p.largo: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ p.ancho: num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ tipo : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
Vamos a generar al azar una tabla de testing de tamaño 50 y una tabla de aprendizaje de tamaño 100.
Se cargan las librerías
Se genera el modelo
Call:
randomForest(formula = tipo ~ ., data = taprendizaje, importance = TRUE)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 8%
Confusion matrix:
setosa versicolor virginica class.error
setosa 34 0 0 0.0000000
versicolor 0 29 3 0.0937500
virginica 0 5 29 0.1470588
Se genera la predicción
42 9 108 73 63 89
setosa setosa virginica virginica versicolor versicolor
15 62 68 5 129 65
setosa versicolor versicolor setosa virginica versicolor
60 100 128 98 121 52
versicolor versicolor virginica versicolor virginica versicolor
49 47 103 76 35 113
setosa setosa virginica versicolor setosa virginica
86 99 132 115 135 126
versicolor versicolor virginica virginica virginica virginica
92 111 150 67 29 12
versicolor virginica virginica versicolor setosa setosa
32 143 70 8 38 106
setosa virginica versicolor setosa setosa virginica
23 77 7 21 45 102
setosa versicolor setosa setosa setosa virginica
105 53
virginica versicolor
Levels: setosa versicolor virginica
La importancia de variables según el modelo
Se genera la matriz de confusión
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 1
virginica 0 0 16
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 1
virginica 0 0 16
$`Precisión Global`
[1] 0.98
$`Error Global`
[1] 0.02
$`Precisión por categoría`
setosa versicolor virginica
1.0000000 0.9444444 1.0000000
Se cargan las librerías
Se genera el modelo
Call:
randomForest(formula = tipo ~ ., data = taprendizaje, importance = TRUE)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 7%
Confusion matrix:
setosa versicolor virginica class.error
setosa 34 0 0 0.0000000
versicolor 0 29 3 0.0937500
virginica 0 4 30 0.1176471
Se genera la predicción
[1] setosa setosa virginica virginica versicolor versicolor
[7] setosa versicolor versicolor setosa virginica versicolor
[13] versicolor versicolor virginica versicolor virginica versicolor
[19] setosa setosa virginica versicolor setosa virginica
[25] versicolor versicolor virginica virginica virginica virginica
[31] versicolor virginica virginica versicolor setosa setosa
[37] setosa virginica versicolor setosa setosa virginica
[43] setosa versicolor setosa setosa setosa virginica
[49] virginica versicolor
Levels: setosa versicolor virginica
La importancia de variables según el modelo
Se genera la matriz de confusión
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 1
virginica 0 0 16
Índices de calidad de la predicción
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 1
virginica 0 0 16
Overall Accuracy: 0.9800
Overall Error: 0.0200
Category Accuracy:
setosa versicolor virginica
1.000000 0.944444 1.000000
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 1
virginica 0 0 16
Overall Accuracy: 0.9800
Overall Error: 0.0200
Category Accuracy:
setosa versicolor virginica
1.000000 0.944444 1.000000
Genera el modelo modificando el número de árboles y el número de variables
Es decir, modificando los parámetros ntree y mtry
Se cargan las librerías
Se genera el modelo
Call:
randomForest(formula = tipo ~ ., data = taprendizaje, importance = TRUE, ntree = 20, mtry = 2)
Type of random forest: classification
Number of trees: 20
No. of variables tried at each split: 2
OOB estimate of error rate: 7%
Confusion matrix:
setosa versicolor virginica class.error
setosa 34 0 0 0.0000000
versicolor 0 29 3 0.0937500
virginica 0 4 30 0.1176471
Se genera la predicción
42 9 108 73 63 89
setosa setosa virginica virginica versicolor versicolor
15 62 68 5 129 65
setosa versicolor versicolor setosa virginica versicolor
60 100 128 98 121 52
versicolor versicolor virginica versicolor virginica versicolor
49 47 103 76 35 113
setosa setosa virginica versicolor setosa virginica
86 99 132 115 135 126
versicolor versicolor virginica virginica virginica virginica
92 111 150 67 29 12
versicolor virginica virginica versicolor setosa setosa
32 143 70 8 38 106
setosa virginica versicolor setosa setosa virginica
23 77 7 21 45 102
setosa versicolor setosa setosa setosa virginica
105 53
virginica versicolor
Levels: setosa versicolor virginica
La importancia de variables según el modelo
Se genera la matriz de confusión
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 1
virginica 0 0 16
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 1
virginica 0 0 16
$`Precisión Global`
[1] 0.98
$`Error Global`
[1] 0.02
$`Precisión por categoría`
setosa versicolor virginica
1.0000000 0.9444444 1.0000000
Se cargan las librerías
Se genera el modelo
# importance = TRUE por defecto
modelo <- train.randomForest(tipo~.,data = taprendizaje,
ntree = 20, mtry = 2)
modelo
Call:
randomForest(formula = tipo ~ ., data = taprendizaje, ntree = 20, mtry = 2, importance = TRUE)
Type of random forest: classification
Number of trees: 20
No. of variables tried at each split: 2
OOB estimate of error rate: 6%
Confusion matrix:
setosa versicolor virginica class.error
setosa 34 0 0 0.00000000
versicolor 0 29 3 0.09375000
virginica 0 3 31 0.08823529
Se genera la predicción
[1] setosa setosa virginica versicolor versicolor versicolor
[7] setosa versicolor versicolor setosa virginica versicolor
[13] versicolor versicolor virginica versicolor virginica versicolor
[19] setosa setosa virginica versicolor setosa virginica
[25] versicolor versicolor virginica virginica virginica virginica
[31] versicolor virginica virginica versicolor setosa setosa
[37] setosa virginica versicolor setosa setosa virginica
[43] setosa versicolor setosa setosa setosa virginica
[49] virginica versicolor
Levels: setosa versicolor virginica
La importancia de variables según el modelo
Se genera la matriz de confusión
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 0
virginica 0 0 16
Índices de calidad de la predicción
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 0
virginica 0 0 16
Overall Accuracy: 1.0000
Overall Error: 0.0000
Category Accuracy:
setosa versicolor virginica
1.000000 1.000000 1.000000
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 0
virginica 0 0 16
Overall Accuracy: 1.0000
Overall Error: 0.0000
Category Accuracy:
setosa versicolor virginica
1.000000 1.000000 1.000000
Utilizando los datos que previamente cargamos
Podemos visualizar la distribución de las variables numéricas según la variable a predecir.
Utilizando los mismo datos para prueba (ttesting) y aprendizaje (taprendizaje) que creamos anteriormente.
Se cargan las librerías
Se genera el modelo
modelo <- randomForest(tipo~p.largo+p.ancho, data = taprendizaje, importance = TRUE,
ntree = 100, mtry = 2)
modelo
Call:
randomForest(formula = tipo ~ p.largo + p.ancho, data = taprendizaje, importance = TRUE, ntree = 100, mtry = 2)
Type of random forest: classification
Number of trees: 100
No. of variables tried at each split: 2
OOB estimate of error rate: 8%
Confusion matrix:
setosa versicolor virginica class.error
setosa 34 0 0 0.0000000
versicolor 0 29 3 0.0937500
virginica 0 5 29 0.1470588
Se genera la predicción
42 9 108 73 63 89
setosa setosa virginica virginica versicolor versicolor
15 62 68 5 129 65
setosa versicolor versicolor setosa virginica versicolor
60 100 128 98 121 52
versicolor versicolor virginica versicolor virginica versicolor
49 47 103 76 35 113
setosa setosa virginica versicolor setosa virginica
86 99 132 115 135 126
versicolor versicolor virginica virginica virginica virginica
92 111 150 67 29 12
versicolor virginica virginica versicolor setosa setosa
32 143 70 8 38 106
setosa virginica versicolor setosa setosa virginica
23 77 7 21 45 102
setosa versicolor setosa setosa setosa virginica
105 53
virginica virginica
Levels: setosa versicolor virginica
La importancia de variables según el modelo
Se genera la matriz de confusión
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 16 2
virginica 0 0 16
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 16 2
virginica 0 0 16
$`Precisión Global`
[1] 0.96
$`Error Global`
[1] 0.04
$`Precisión por categoría`
setosa versicolor virginica
1.0000000 0.8888889 1.0000000
Se cargan las librerías
Se genera el modelo
modelo <- train.randomForest(tipo~p.largo+p.ancho, data = taprendizaje,
ntree = 100, mtry = 2)
modelo
Call:
randomForest(formula = tipo ~ p.largo + p.ancho, data = taprendizaje, ntree = 100, mtry = 2, importance = TRUE)
Type of random forest: classification
Number of trees: 100
No. of variables tried at each split: 2
OOB estimate of error rate: 6%
Confusion matrix:
setosa versicolor virginica class.error
setosa 34 0 0 0.00000000
versicolor 0 29 3 0.09375000
virginica 0 3 31 0.08823529
Se genera la predicción
[1] setosa setosa virginica virginica versicolor versicolor
[7] setosa versicolor versicolor setosa virginica versicolor
[13] versicolor versicolor virginica versicolor virginica versicolor
[19] setosa setosa virginica versicolor setosa virginica
[25] versicolor versicolor virginica virginica virginica virginica
[31] versicolor virginica virginica versicolor setosa setosa
[37] setosa virginica versicolor setosa setosa virginica
[43] setosa versicolor setosa setosa setosa virginica
[49] virginica virginica
Levels: setosa versicolor virginica
La importancia de variables según el modelo
Se genera la matriz de confusión
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 16 2
virginica 0 0 16
Índices de calidad de la predicción
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 16 2
virginica 0 0 16
Overall Accuracy: 0.9600
Overall Error: 0.0400
Category Accuracy:
setosa versicolor virginica
1.000000 0.888889 1.000000
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 16 2
virginica 0 0 16
Overall Accuracy: 0.9600
Overall Error: 0.0400
Category Accuracy:
setosa versicolor virginica
1.000000 0.888889 1.000000
setwd("~/Datos(CSV)/")
datos<-read.csv("MuestraCredito5000V2.csv",sep = ";",header=T)
# Recodifica las variables como categóricas ordinales
datos$IngresoNeto <- factor(datos$IngresoNeto, ordered = TRUE)
datos$CoefCreditoAvaluo <- factor(datos$CoefCreditoAvaluo, ordered = TRUE)'data.frame': 5000 obs. of 6 variables:
$ MontoCredito : int 14327 111404 21128 15426 10351 27060 243369 16300 18319 107037 ...
$ IngresoNeto : Ord.factor w/ 2 levels "1"<"2": 1 1 1 2 1 1 1 2 2 2 ...
$ CoefCreditoAvaluo: Ord.factor w/ 12 levels "1"<"2"<"3"<"4"<..: 1 1 1 1 1 1 1 1 1 1 ...
$ MontoCuota : Factor w/ 4 levels "Alto","Bajo",..: 4 4 4 4 4 4 4 4 4 4 ...
$ GradoAcademico : Factor w/ 2 levels "Bachiller","Licenciatura": 1 1 1 1 1 1 1 1 1 1 ...
$ BuenPagador : Factor w/ 2 levels "No","Si": 2 2 2 2 2 2 2 2 2 2 ...
Vamos a generar al azar una tabla de testing con 15% de los datos y una tabla de aprendizaje con 85%
Se cargan las librerías
Se genera el modelo
Call:
randomForest(formula = BuenPagador ~ ., data = taprendizaje, importance = TRUE)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 4.96%
Confusion matrix:
No Si class.error
No 436 173 0.28407225
Si 38 3603 0.01043669
Se genera la predicción
4119 4210 1771 235 399 1498 1135 3510 2352 4585 4448 3615 4192 1713 1192
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
131 3180 2875 4138 2289 3224 2329 457 3733 2824 2497 549 3720 4457 2362
Si Si Si Si No Si Si Si Si Si No Si Si Si Si
4596 1700 2912 990 988 1999 4834 3559 1924 993 4816 3190 3878 1093 1786
Si Si Si Si Si Si No Si Si Si No Si Si Si Si
180 4276 1831 1452 3222 995 3381 2254 533 2489 4354 880 498 3756 4451
Si Si Si Si Si Si Si No Si No Si Si Si Si Si
296 4574 413 3965 3932 4397 52 901 352 2195 3228 126 1746 2552 404
Si Si Si Si Si Si No Si Si No Si Si Si Si Si
4994 3957 3839 2906 1880 588 979 2430 3602 417 3929 819 1593 3441 2009
Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
840 4524 4917 659 2302 907 2511 4158 3605 1686 3593 4928 212 1733 4628
Si Si No Si No Si Si Si Si Si Si No Si Si Si
4718 3825 599 1095 1926 2911 3330 3323 3134 219 4037 3351 3041 3896 4398
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3606 1735 201 4658 921 585 1476 242 3154 3642 1967 647 2879 2265 2586
Si Si Si Si Si Si Si Si Si Si Si Si Si No Si
4926 746 3306 3922 206 2303 2565 3458 418 3297 3728 893 1931 340 4984
Si Si Si Si Si No Si Si Si Si Si Si Si Si No
692 1297 3036 4224 509 3398 1336 4124 18 3858 1974 4229 1463 2755 2292
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
821 2792 976 2050 2940 2279 2133 3336 3347 2389 158 1587 1292 470 221
Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
1797 798 4080 1367 2507 523 4807 3676 1383 1356 2213 1762 1098 1865 427
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
1808 2838 3184 2223 4233 3487 1617 2321 3358 865 1078 323 3682 1922 3492
Si Si Si No Si Si Si Si Si Si No Si Si Si Si
4810 1100 3925 4207 2621 2416 1168 2895 3187 1855 947 4099 1628 1891 1683
No Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2613 3794 315 2467 774 1843 1015 3373 1806 1005 4413 906 1083 3764 4202
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4053 2673 1529 1109 4778 3276 1937 2261 878 1828 516 4317 129 3931 1565
Si Si Si Si No Si Si No Si Si Si Si Si Si Si
90 2878 731 2461 841 779 3341 2378 2506 3919 3662 4693 3581 2939 1398
Si Si Si Si Si Si Si No Si Si Si No Si Si Si
3121 3178 1469 1867 1295 4944 1271 1346 3080 3638 1540 2870 4651 2589 3511
Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
3556 3300 1968 1890 121 2704 663 101 3939 2311 4673 4243 2753 1787 4867
Si Si Si Si Si Si Si Si Si No Si Si Si Si No
395 2017 252 2715 2281 2914 3535 4148 3292 4203 2626 2122 2690 3586 3893
Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
3761 2571 644 2256 34 787 3394 2756 999 2952 1214 1272 3177 2332 2396
Si Si Si No Si Si Si Si Si Si Si Si Si No Si
4680 292 4464 4952 3428 4927 402 97 218 4421 1729 3231 4366 1791 4340
Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
441 608 3143 1876 1464 2584 4471 4911 3730 4199 4294 135 325 4242 2036
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4003 705 4488 2083 1781 3560 2898 186 4726 1917 1834 1119 2982 567 3990
Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
690 2971 1073 3672 4175 1027 358 1309 4394 2226 1154 1165 3688 1631 3448
Si Si Si Si Si Si Si Si Si No No Si Si Si Si
1600 3725 4740 3074 3594 3266 3473 771 4310 733 2609 4267 2044 3550 142
Si Si No Si Si Si Si Si Si Si Si Si Si Si Si
2391 2339 1622 3256 3986 1293 1580 1681 4423 4536 1137 3357 1390 1401 4461
Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
3182 3162 625 2054 1835 586 2741 84 1616 3875 2534 758 1772 1389 522
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3751 4477 3887 4930 2884 4197 546 864 1320 467 4285 3263 3882 1677 951
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2163 639 2370 3372 3628 4874 2435 1895 4159 4850 914 3873 3056 4123 3867
Si Si No Si Si Si No Si Si No Si Si Si Si Si
2033 600 3386 1060 346 3353 475 1493 3045 4666 1674 4696 4933 1859 105
Si Si Si Si Si Si Si Si Si Si Si No No Si Si
199 1970 2775 4828 946 1128 2760 3771 3352 3852 3656 4383 3569 4646 2683
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3821 560 2924 3820 755 2372 4473 2508 4787 3689 2413 3020 1268 3199 3008
Si Si Si Si Si No Si Si No Si No Si Si Si Si
1403 3577 2569 471 230 4960 3207 1173 3042 2607 2880 2588 3390 4065 1652
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1671 4702 2652 2814 4956 1347 1096 2681 1557 4621 2976 3773 706 2216 2772
Si No Si Si No Si Si No Si Si Si Si Si No Si
3461 3514 148 927 4920 4186 465 1959 768 4512 1541 4520 58 4281 721
Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
882 1110 689 1478 3403 138 178 2941 4260 960 293 4432 757 3705 3588
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3966 2973 3774 913 1172 3003 1350 3299 1730 4008 4067 1340 4047 1480 3295
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3724 397 426 295 2860 767 831 2549 3811 1500 137 240 1364 1438 1186
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
233 2224 2736 707 1302 2488 3141 2825 4706 330 1685 4838 4174 382 4978
Si No Si Si Si No Si Si No Si Si No Si Si Si
2172 2189 2539 1180 3800 263 1904 1972 4293 2845 425 1085 3603 1676 1703
Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
1332 828 3968 2168 684 3718 510 4990 1250 1063 3460 4169 3927 1962 2369
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
3317 4991 2535 1145 2936 1657 4530 3760 167 4248 1113 3542 3803 2998 1830
Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
1716 4954 917 4357 2205 4801 176 3614 2074 4894 784 825 4606 3584 2071
Si No Si Si No No Si Si Si No Si Si Si Si Si
1252 3653 799 3219 573 2843 3950 1513 2925 1034 4258 2882 3874 4412 2788
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1202 4584 2107 1940 4160 1448 2350 2200 232 2207 1749 642 558 2757 1174
Si Si Si Si Si Si No No Si No Si No Si Si Si
326 2675 1934 3120 3268 1725 2796 1225 4635 1623 4023 279 1112 406 4662
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
2769 254 4216 2473 948 1526 1397 4881 128 454 959 3599 2125 4407 2999
Si Si Si No Si Si Si No Si Si Si Si Si Si Si
4262 3234 2423 2285 1839 4689 3851 1524 3772 3274 3440 1065 3783 2333 4579
Si Si No No Si No Si Si Si Si Si Si Si No Si
Levels: No Si
La importancia de variables según el modelo
Se genera la matriz de confusión
prediccion
No Si
No 65 31
Si 7 647
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
No Si
No 65 31
Si 7 647
$`Precisión Global`
[1] 0.9493333
$`Error Global`
[1] 0.05066667
$`Precisión por categoría`
No Si
0.6770833 0.9892966
Se cargan las librerías
Se genera el modelo
Call:
randomForest(formula = BuenPagador ~ ., data = taprendizaje, importance = TRUE)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 4.87%
Confusion matrix:
No Si class.error
No 439 170 0.27914614
Si 37 3604 0.01016204
Se genera la predicción
[1] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[24] Si Si No Si Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si Si Si Si
[47] Si Si Si Si Si Si No Si No Si Si Si Si Si Si Si Si Si Si Si No Si Si
[70] No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
[93] No Si No Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[116] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[139] Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[162] Si Si Si No Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[185] Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si Si No Si
[208] Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[231] Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si
[254] Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si Si Si No
[277] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[300] No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[323] Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[346] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[369] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si Si Si Si
[392] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[415] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[438] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si No
[461] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si Si Si Si
[484] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No Si No
[507] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
[530] No Si Si No Si Si Si Si Si No Si Si Si Si Si No Si Si Si Si Si Si Si
[553] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[576] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[599] Si Si Si No Si Si Si No Si Si No Si Si No Si Si Si Si No Si Si Si Si
[622] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[645] No Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No No Si
[668] Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[691] Si Si Si Si Si Si No No Si No Si No Si Si Si Si Si Si Si Si Si Si Si
[714] Si Si Si Si Si Si No Si Si Si No Si Si Si No Si Si Si Si Si Si Si Si
[737] Si No No Si No Si Si Si Si Si Si Si No Si
Levels: No Si
La importancia de variables según el modelo
Se genera la matriz de confusión
prediction
real No Si
No 65 31
Si 7 647
Índices de calidad de la predicción
Confusion Matrix:
prediction
real No Si
No 65 31
Si 7 647
Overall Accuracy: 0.9493
Overall Error: 0.0507
Category Accuracy:
No Si
0.677083 0.989297
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real No Si
No 65 31
Si 7 647
Overall Accuracy: 0.9493
Overall Error: 0.0507
Category Accuracy:
No Si
0.677083 0.989297
Genera el modelo modificando el número de árboles y el número de variables
Es decir, modificando los parámetros ntree y mtry
Se cargan las librerías
Se genera el modelo
modelo <- randomForest(BuenPagador~.,data = taprendizaje, importance = TRUE,
ntree = 200, mtry = 2)
modelo
Call:
randomForest(formula = BuenPagador ~ ., data = taprendizaje, importance = TRUE, ntree = 200, mtry = 2)
Type of random forest: classification
Number of trees: 200
No. of variables tried at each split: 2
OOB estimate of error rate: 5.13%
Confusion matrix:
No Si class.error
No 432 177 0.29064039
Si 41 3600 0.01126064
Se genera la predicción
4119 4210 1771 235 399 1498 1135 3510 2352 4585 4448 3615 4192 1713 1192
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
131 3180 2875 4138 2289 3224 2329 457 3733 2824 2497 549 3720 4457 2362
Si Si Si Si No Si Si Si Si Si No Si Si Si Si
4596 1700 2912 990 988 1999 4834 3559 1924 993 4816 3190 3878 1093 1786
Si Si Si Si Si Si No Si Si Si No Si Si Si Si
180 4276 1831 1452 3222 995 3381 2254 533 2489 4354 880 498 3756 4451
Si Si Si Si Si Si Si No Si No Si Si Si Si Si
296 4574 413 3965 3932 4397 52 901 352 2195 3228 126 1746 2552 404
Si Si Si Si Si Si No Si Si No Si Si Si Si Si
4994 3957 3839 2906 1880 588 979 2430 3602 417 3929 819 1593 3441 2009
Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
840 4524 4917 659 2302 907 2511 4158 3605 1686 3593 4928 212 1733 4628
Si Si No Si No Si Si Si Si Si Si No Si Si Si
4718 3825 599 1095 1926 2911 3330 3323 3134 219 4037 3351 3041 3896 4398
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3606 1735 201 4658 921 585 1476 242 3154 3642 1967 647 2879 2265 2586
Si Si Si Si Si Si Si Si Si Si Si Si Si No Si
4926 746 3306 3922 206 2303 2565 3458 418 3297 3728 893 1931 340 4984
Si Si Si Si Si No Si Si Si Si Si Si Si Si No
692 1297 3036 4224 509 3398 1336 4124 18 3858 1974 4229 1463 2755 2292
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
821 2792 976 2050 2940 2279 2133 3336 3347 2389 158 1587 1292 470 221
Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
1797 798 4080 1367 2507 523 4807 3676 1383 1356 2213 1762 1098 1865 427
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
1808 2838 3184 2223 4233 3487 1617 2321 3358 865 1078 323 3682 1922 3492
Si Si Si No Si Si Si Si Si Si No Si Si Si Si
4810 1100 3925 4207 2621 2416 1168 2895 3187 1855 947 4099 1628 1891 1683
No Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2613 3794 315 2467 774 1843 1015 3373 1806 1005 4413 906 1083 3764 4202
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4053 2673 1529 1109 4778 3276 1937 2261 878 1828 516 4317 129 3931 1565
Si Si Si Si No Si Si No Si Si Si Si Si Si Si
90 2878 731 2461 841 779 3341 2378 2506 3919 3662 4693 3581 2939 1398
Si Si Si Si Si Si Si No Si Si Si No Si Si Si
3121 3178 1469 1867 1295 4944 1271 1346 3080 3638 1540 2870 4651 2589 3511
Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
3556 3300 1968 1890 121 2704 663 101 3939 2311 4673 4243 2753 1787 4867
Si Si Si Si Si Si Si Si Si No Si Si Si Si No
395 2017 252 2715 2281 2914 3535 4148 3292 4203 2626 2122 2690 3586 3893
Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
3761 2571 644 2256 34 787 3394 2756 999 2952 1214 1272 3177 2332 2396
Si Si Si No Si Si Si Si Si Si Si Si Si No Si
4680 292 4464 4952 3428 4927 402 97 218 4421 1729 3231 4366 1791 4340
Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
441 608 3143 1876 1464 2584 4471 4911 3730 4199 4294 135 325 4242 2036
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4003 705 4488 2083 1781 3560 2898 186 4726 1917 1834 1119 2982 567 3990
Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
690 2971 1073 3672 4175 1027 358 1309 4394 2226 1154 1165 3688 1631 3448
Si Si Si Si Si Si Si Si Si No No Si Si Si Si
1600 3725 4740 3074 3594 3266 3473 771 4310 733 2609 4267 2044 3550 142
Si Si No Si Si Si Si Si Si Si Si Si Si Si Si
2391 2339 1622 3256 3986 1293 1580 1681 4423 4536 1137 3357 1390 1401 4461
Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
3182 3162 625 2054 1835 586 2741 84 1616 3875 2534 758 1772 1389 522
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3751 4477 3887 4930 2884 4197 546 864 1320 467 4285 3263 3882 1677 951
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2163 639 2370 3372 3628 4874 2435 1895 4159 4850 914 3873 3056 4123 3867
Si Si No Si Si Si No Si Si No Si Si Si Si Si
2033 600 3386 1060 346 3353 475 1493 3045 4666 1674 4696 4933 1859 105
Si Si Si Si Si Si Si Si Si Si Si No No Si Si
199 1970 2775 4828 946 1128 2760 3771 3352 3852 3656 4383 3569 4646 2683
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3821 560 2924 3820 755 2372 4473 2508 4787 3689 2413 3020 1268 3199 3008
Si Si Si Si Si No Si Si No Si No Si Si Si Si
1403 3577 2569 471 230 4960 3207 1173 3042 2607 2880 2588 3390 4065 1652
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1671 4702 2652 2814 4956 1347 1096 2681 1557 4621 2976 3773 706 2216 2772
Si No Si Si No Si Si No Si Si Si Si Si No Si
3461 3514 148 927 4920 4186 465 1959 768 4512 1541 4520 58 4281 721
Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
882 1110 689 1478 3403 138 178 2941 4260 960 293 4432 757 3705 3588
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3966 2973 3774 913 1172 3003 1350 3299 1730 4008 4067 1340 4047 1480 3295
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3724 397 426 295 2860 767 831 2549 3811 1500 137 240 1364 1438 1186
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
233 2224 2736 707 1302 2488 3141 2825 4706 330 1685 4838 4174 382 4978
Si No Si Si Si No Si Si No Si Si No Si Si Si
2172 2189 2539 1180 3800 263 1904 1972 4293 2845 425 1085 3603 1676 1703
Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
1332 828 3968 2168 684 3718 510 4990 1250 1063 3460 4169 3927 1962 2369
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
3317 4991 2535 1145 2936 1657 4530 3760 167 4248 1113 3542 3803 2998 1830
Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
1716 4954 917 4357 2205 4801 176 3614 2074 4894 784 825 4606 3584 2071
Si No Si Si No No Si Si Si No Si Si Si Si Si
1252 3653 799 3219 573 2843 3950 1513 2925 1034 4258 2882 3874 4412 2788
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1202 4584 2107 1940 4160 1448 2350 2200 232 2207 1749 642 558 2757 1174
Si Si Si Si Si Si No No Si No Si No Si Si Si
326 2675 1934 3120 3268 1725 2796 1225 4635 1623 4023 279 1112 406 4662
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
2769 254 4216 2473 948 1526 1397 4881 128 454 959 3599 2125 4407 2999
Si Si Si No Si Si Si No Si Si Si Si Si Si Si
4262 3234 2423 2285 1839 4689 3851 1524 3772 3274 3440 1065 3783 2333 4579
Si Si No No Si No Si Si Si Si Si Si Si No Si
Levels: No Si
La importancia de variables según el modelo
Se genera la matriz de confusión
prediccion
No Si
No 65 31
Si 7 647
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
No Si
No 65 31
Si 7 647
$`Precisión Global`
[1] 0.9493333
$`Error Global`
[1] 0.05066667
$`Precisión por categoría`
No Si
0.6770833 0.9892966
Se cargan las librerías
Se genera el modelo
# importance = TRUE por defecto
modelo <- train.randomForest(BuenPagador~.,data = taprendizaje,
ntree = 200, mtry = 2)
modelo
Call:
randomForest(formula = BuenPagador ~ ., data = taprendizaje, ntree = 200, mtry = 2, importance = TRUE)
Type of random forest: classification
Number of trees: 200
No. of variables tried at each split: 2
OOB estimate of error rate: 4.96%
Confusion matrix:
No Si class.error
No 440 169 0.27750411
Si 42 3599 0.01153529
Se genera la predicción
[1] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[24] Si Si No Si Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si Si Si Si
[47] Si Si Si Si Si Si No Si No Si Si Si Si Si Si Si Si Si Si Si No Si Si
[70] No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
[93] No Si No Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[116] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[139] Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[162] Si Si Si No Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[185] Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si Si No Si
[208] Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[231] Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si
[254] Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si Si Si No
[277] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[300] No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[323] Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[346] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[369] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si Si Si Si
[392] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[415] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[438] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si No
[461] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si Si Si Si
[484] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No Si No
[507] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
[530] No Si Si No Si Si Si Si Si No Si Si Si Si Si No Si Si Si Si Si Si Si
[553] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[576] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[599] Si Si Si No Si Si Si No Si Si No Si Si No Si Si Si Si No Si Si Si Si
[622] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[645] No Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No No Si
[668] Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[691] Si Si Si Si Si Si No No Si No Si No Si Si Si Si Si Si Si Si Si Si Si
[714] Si Si Si Si Si Si No Si Si Si No Si Si Si No Si Si Si Si Si Si Si Si
[737] Si No No Si No Si Si Si Si Si Si Si No Si
Levels: No Si
La importancia de variables según el modelo
Se genera la matriz de confusión
prediction
real No Si
No 65 31
Si 7 647
Índices de calidad de la predicción
Confusion Matrix:
prediction
real No Si
No 65 31
Si 7 647
Overall Accuracy: 0.9493
Overall Error: 0.0507
Category Accuracy:
No Si
0.677083 0.989297
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real No Si
No 65 31
Si 7 647
Overall Accuracy: 0.9493
Overall Error: 0.0507
Category Accuracy:
No Si
0.677083 0.989297
Utilizando los datos que previamente cargamos
Podemos visualizar la distribución de las variables numéricas y categóricas según la variable a predecir.
Utilizando los mismo datos para prueba (ttesting) y aprendizaje (taprendizaje) que creamos anteriormente.
Se cargan las librerías
Se genera el modelo
modelo <- randomForest(BuenPagador~CoefCreditoAvaluo+MontoCredito+GradoAcademico,
data = taprendizaje,importance = TRUE,ntree = 200,mtry = 2)
modelo
Call:
randomForest(formula = BuenPagador ~ CoefCreditoAvaluo + MontoCredito + GradoAcademico, data = taprendizaje, importance = TRUE, ntree = 200, mtry = 2)
Type of random forest: classification
Number of trees: 200
No. of variables tried at each split: 2
OOB estimate of error rate: 6.85%
Confusion matrix:
No Si class.error
No 357 252 0.41379310
Si 39 3602 0.01071134
Se genera la predicción
4119 4210 1771 235 399 1498 1135 3510 2352 4585 4448 3615 4192 1713 1192
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
131 3180 2875 4138 2289 3224 2329 457 3733 2824 2497 549 3720 4457 2362
Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
4596 1700 2912 990 988 1999 4834 3559 1924 993 4816 3190 3878 1093 1786
Si Si Si Si Si Si No Si Si Si Si Si Si Si Si
180 4276 1831 1452 3222 995 3381 2254 533 2489 4354 880 498 3756 4451
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
296 4574 413 3965 3932 4397 52 901 352 2195 3228 126 1746 2552 404
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
4994 3957 3839 2906 1880 588 979 2430 3602 417 3929 819 1593 3441 2009
Si Si Si Si Si Si Si No Si No Si Si Si Si Si
840 4524 4917 659 2302 907 2511 4158 3605 1686 3593 4928 212 1733 4628
Si Si No Si No Si Si Si Si Si No No Si Si Si
4718 3825 599 1095 1926 2911 3330 3323 3134 219 4037 3351 3041 3896 4398
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3606 1735 201 4658 921 585 1476 242 3154 3642 1967 647 2879 2265 2586
Si Si Si Si Si Si Si Si Si Si Si Si Si No Si
4926 746 3306 3922 206 2303 2565 3458 418 3297 3728 893 1931 340 4984
Si Si Si Si Si No Si Si Si Si Si Si Si Si No
692 1297 3036 4224 509 3398 1336 4124 18 3858 1974 4229 1463 2755 2292
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
821 2792 976 2050 2940 2279 2133 3336 3347 2389 158 1587 1292 470 221
Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
1797 798 4080 1367 2507 523 4807 3676 1383 1356 2213 1762 1098 1865 427
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
1808 2838 3184 2223 4233 3487 1617 2321 3358 865 1078 323 3682 1922 3492
Si Si Si No Si Si Si Si Si Si No Si Si Si Si
4810 1100 3925 4207 2621 2416 1168 2895 3187 1855 947 4099 1628 1891 1683
No Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2613 3794 315 2467 774 1843 1015 3373 1806 1005 4413 906 1083 3764 4202
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4053 2673 1529 1109 4778 3276 1937 2261 878 1828 516 4317 129 3931 1565
Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
90 2878 731 2461 841 779 3341 2378 2506 3919 3662 4693 3581 2939 1398
Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
3121 3178 1469 1867 1295 4944 1271 1346 3080 3638 1540 2870 4651 2589 3511
Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
3556 3300 1968 1890 121 2704 663 101 3939 2311 4673 4243 2753 1787 4867
Si Si Si Si Si Si Si Si Si No Si Si Si Si No
395 2017 252 2715 2281 2914 3535 4148 3292 4203 2626 2122 2690 3586 3893
Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
3761 2571 644 2256 34 787 3394 2756 999 2952 1214 1272 3177 2332 2396
Si Si Si Si Si Si Si Si Si Si Si Si Si No Si
4680 292 4464 4952 3428 4927 402 97 218 4421 1729 3231 4366 1791 4340
Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
441 608 3143 1876 1464 2584 4471 4911 3730 4199 4294 135 325 4242 2036
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4003 705 4488 2083 1781 3560 2898 186 4726 1917 1834 1119 2982 567 3990
Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
690 2971 1073 3672 4175 1027 358 1309 4394 2226 1154 1165 3688 1631 3448
Si Si Si Si Si Si Si Si Si No No Si Si Si Si
1600 3725 4740 3074 3594 3266 3473 771 4310 733 2609 4267 2044 3550 142
Si Si No Si Si Si Si Si Si Si Si Si Si Si Si
2391 2339 1622 3256 3986 1293 1580 1681 4423 4536 1137 3357 1390 1401 4461
Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
3182 3162 625 2054 1835 586 2741 84 1616 3875 2534 758 1772 1389 522
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3751 4477 3887 4930 2884 4197 546 864 1320 467 4285 3263 3882 1677 951
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2163 639 2370 3372 3628 4874 2435 1895 4159 4850 914 3873 3056 4123 3867
Si Si No Si Si Si No Si Si No Si Si Si Si Si
2033 600 3386 1060 346 3353 475 1493 3045 4666 1674 4696 4933 1859 105
Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
199 1970 2775 4828 946 1128 2760 3771 3352 3852 3656 4383 3569 4646 2683
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3821 560 2924 3820 755 2372 4473 2508 4787 3689 2413 3020 1268 3199 3008
Si Si Si Si Si No Si Si No Si Si Si Si Si Si
1403 3577 2569 471 230 4960 3207 1173 3042 2607 2880 2588 3390 4065 1652
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1671 4702 2652 2814 4956 1347 1096 2681 1557 4621 2976 3773 706 2216 2772
Si No Si Si No Si Si No Si Si Si Si No No Si
3461 3514 148 927 4920 4186 465 1959 768 4512 1541 4520 58 4281 721
Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
882 1110 689 1478 3403 138 178 2941 4260 960 293 4432 757 3705 3588
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3966 2973 3774 913 1172 3003 1350 3299 1730 4008 4067 1340 4047 1480 3295
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3724 397 426 295 2860 767 831 2549 3811 1500 137 240 1364 1438 1186
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
233 2224 2736 707 1302 2488 3141 2825 4706 330 1685 4838 4174 382 4978
Si No Si Si Si No Si Si Si Si Si No Si Si Si
2172 2189 2539 1180 3800 263 1904 1972 4293 2845 425 1085 3603 1676 1703
Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
1332 828 3968 2168 684 3718 510 4990 1250 1063 3460 4169 3927 1962 2369
Si Si Si Si Si Si No Si Si Si Si Si Si Si No
3317 4991 2535 1145 2936 1657 4530 3760 167 4248 1113 3542 3803 2998 1830
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1716 4954 917 4357 2205 4801 176 3614 2074 4894 784 825 4606 3584 2071
Si No Si Si No No Si Si Si No Si Si Si Si Si
1252 3653 799 3219 573 2843 3950 1513 2925 1034 4258 2882 3874 4412 2788
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1202 4584 2107 1940 4160 1448 2350 2200 232 2207 1749 642 558 2757 1174
Si Si Si Si Si Si No No Si No Si No Si Si Si
326 2675 1934 3120 3268 1725 2796 1225 4635 1623 4023 279 1112 406 4662
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
2769 254 4216 2473 948 1526 1397 4881 128 454 959 3599 2125 4407 2999
Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
4262 3234 2423 2285 1839 4689 3851 1524 3772 3274 3440 1065 3783 2333 4579
Si Si No No Si Si Si Si Si Si Si Si Si No Si
Levels: No Si
La importancia de variables según el modelo
Se genera la matriz de confusión
prediccion
No Si
No 54 42
Si 9 645
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
No Si
No 54 42
Si 9 645
$`Precisión Global`
[1] 0.932
$`Error Global`
[1] 0.068
$`Precisión por categoría`
No Si
0.5625000 0.9862385
Se cargan las librerías
Se genera el modelo
modelo <- train.randomForest(BuenPagador~CoefCreditoAvaluo+MontoCredito+GradoAcademico,
data = taprendizaje,ntree = 200,mtry = 2)
modelo
Call:
randomForest(formula = BuenPagador ~ CoefCreditoAvaluo + MontoCredito + GradoAcademico, data = taprendizaje, ntree = 200, mtry = 2, importance = TRUE)
Type of random forest: classification
Number of trees: 200
No. of variables tried at each split: 2
OOB estimate of error rate: 6.8%
Confusion matrix:
No Si class.error
No 357 252 0.41379310
Si 37 3604 0.01016204
Se genera la predicción
[1] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[24] Si Si No Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
[47] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[70] Si Si Si Si Si Si Si Si Si Si Si Si Si No Si No Si Si Si Si Si Si Si
[93] No Si No Si Si Si Si Si No No Si Si Si Si Si Si Si Si Si Si Si Si Si
[116] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[139] Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[162] Si Si Si No Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[185] Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si Si No Si
[208] Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[231] Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si
[254] Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No
[277] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[300] No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[323] Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[346] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[369] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si Si Si Si
[392] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[415] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[438] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si No
[461] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[484] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No Si Si
[507] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
[530] No Si Si No Si Si Si Si No No Si Si Si Si Si No Si Si Si Si Si Si Si
[553] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[576] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[599] Si Si Si No Si Si Si No Si Si Si Si Si No Si Si Si Si No Si Si Si Si
[622] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[645] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No No Si
[668] Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[691] Si Si Si Si Si Si No No Si No Si No Si Si Si Si Si Si Si Si Si Si Si
[714] Si Si Si Si Si Si No Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si
[737] Si No No Si Si Si Si Si Si Si Si Si No Si
Levels: No Si
La importancia de variables según el modelo
Se genera la matriz de confusión
prediction
real No Si
No 54 42
Si 9 645
Índices de calidad de la predicción
Confusion Matrix:
prediction
real No Si
No 54 42
Si 9 645
Overall Accuracy: 0.9320
Overall Error: 0.0680
Category Accuracy:
No Si
0.562500 0.986239
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real No Si
No 54 42
Si 9 645
Overall Accuracy: 0.9320
Overall Error: 0.0680
Category Accuracy:
No Si
0.562500 0.986239